widget: Add a hook for resizes
authorBenjamin Otte <otte@redhat.com>
Mon, 4 Nov 2019 23:40:17 +0000 (00:40 +0100)
committerMatthias Clasen <mclasen@redhat.com>
Sat, 30 May 2020 23:26:46 +0000 (19:26 -0400)
It's private, no APIs, we don't talk about it. But we will start using
it very soon, so we can do size request caching in columns and avoid
sizegroups...

gtk/gtkwidget.c
gtk/gtkwidgetprivate.h

index 2a146c2e804bc112dc78f9cd026f76d8fa0204ba..96f4656d4cd0085fa0b0d58eb3fda2bf8ac2a3fb 100644 (file)
@@ -3555,6 +3555,9 @@ gtk_widget_queue_resize_internal (GtkWidget *widget)
   priv->resize_needed = TRUE;
   gtk_widget_set_alloc_needed (widget);
 
+  if (priv->resize_func)
+    priv->resize_func (widget);
+
   groups = _gtk_widget_get_sizegroups (widget);
 
   for (l = groups; l; l = l->next)
index d06db43250b6c1704aec5871a83cbda51b859f21..d4a40038346bf8be5c3cab643f96be77e8794e75 100644 (file)
@@ -122,6 +122,7 @@ struct _GtkWidgetPrivate
 
   int width_request;
   int height_request;
+  void (* resize_func) (GtkWidget *);
   GtkBorder margin;
 
   /* Animations and other things to update on clock ticks */